package routes

import (
	controller "doctor_api_backend/controller"

	"github.com/gin-gonic/gin"
)

// SetupMedicineRoutes 设置药品相关的路由
// 功能：
// 1. 创建药品相关的路由组
// 2. 配置药品相关的API端点
// 3. 设置路由处理函数
// 参数：
//   - r: Gin路由组实例
func SetupMedicineRoutes(r *gin.RouterGroup) {
	// 药品管理
	medicineGroup := r.Group("/medicines")
	{
		// 获取所有药品
		medicineGroup.GET("", controller.GetMedicines)
		// 获取单个药品
		medicineGroup.GET(":id", controller.GetMedicine)
		// 创建药品
		medicineGroup.POST("", controller.CreateMedicine)
		// 更新药品
		medicineGroup.PUT(":id", controller.UpdateMedicine)
		// 删除药品
		medicineGroup.DELETE(":id", controller.DeleteMedicine)
	}
}

// 调试指南：
// 1. 路由测试：
//    - 获取药品列表：
//      curl -X GET http://localhost:8080/api/v1/medicines \
//           -H "Authorization: Bearer your-token-here"
//    - 获取单个药品：
//      curl -X GET http://localhost:8080/api/v1/medicines/1 \
//           -H "Authorization: Bearer your-token-here"
//    - 创建药品：
//      curl -X POST http://localhost:8080/api/v1/medicines \
//           -H "Content-Type: application/json" \
//           -H "Authorization: Bearer your-token-here" \
//           -d '{"name":"阿莫西林","description":"抗生素"}'
//    - 更新药品：
//      curl -X PUT http://localhost:8080/api/v1/medicines/1 \
//           -H "Content-Type: application/json" \
//           -H "Authorization: Bearer your-token-here" \
//           -d '{"name":"阿莫西林","description":"广谱抗生素"}'
//    - 删除药品：
//      curl -X DELETE http://localhost:8080/api/v1/medicines/1 \
//           -H "Authorization: Bearer your-token-here"
//
// 2. 常见问题排查：
//    - 路由未注册：检查路由设置函数是否被调用
//    - 版本不匹配：检查API版本配置是否正确
//    - 权限问题：检查token是否有效
//    - 参数错误：检查请求参数格式是否正确
//
// 3. 开发建议：
//    - 使用Postman等工具测试API
//    - 添加请求参数验证
//    - 实现错误处理中间件
//    - 添加API文档注释
